#include "..\CookHeader.h"

Array <int> dataAry = { 188, 150, 168, 162, 105, 120, 177, 50 };

Array <int> quickSort(Array <int> ary) {
	int n = len(ary);
	if (n <= 1)				//  Ʈ  1 ϸ
		return ary;

	int pivot = ary[n / 2];	//   ߰ 
	Array <int> leftAry, rightAry;

	for (int i = 0; i < n; i++) {
		int num = ary[i];
		if (num < pivot)
			leftAry.push_back(num);
		else if (num > pivot)
			rightAry.push_back(num);
	}

	Array <int> retLeft, retRight;
	retLeft = quickSort(leftAry) ;  //  迭 
	retLeft.push_back(pivot);		// ǹ 
	retRight = quickSort(rightAry);	//  迭 
	retLeft.insert(retLeft.end(), retRight.begin(), retRight.end());  //  +  -->  
	return retLeft;
}

int main() {
	print("  -->");
	printArray(dataAry);
	dataAry = quickSort(dataAry);
	print("  -->");
	printArray(dataAry);
}